public AutoFormsRecognizeFormResult RecognizeForm(
Uri url,
List<IMasterFormsCategory> categories
)
url
A System.Uri containing the unknown form image data.
categories
List of Master Forms categories to use in comparison, pass null or empty to use all Master Forms in the repository.
The result of the recognition will be the result of the Master Form with maximum confidence. If the confidence is less than MinimumConfidenceKnownForm it will return null, i.e. the form type is unknown and cannot be recognized.
If RecognizeFirstPageOnly is true, the type of the form will be recognized based only on the first page of the form. If it is false the recognition will be done using all form image pages.
The url should have all form pages if RecognizeFirstPageOnly is set to false.
If all Master Forms have a different first page, then recognizing the form according to its first page will be faster.
The recognition of the form will stop comparing the form with other Master Forms either when the confidence of the recognition result is greater or equal to MinimumConfidenceRecognized or when the Master Forms have all been compared.
The result of the recognition will be the result of the Master Form with maximum confidence. If the confidence is less than MinimumConfidenceKnownForm it will return null, i.e. the form type is unknown and cannot be recognized.
This method is useful when you have unknown forms and you want to recognize the types of these forms to archive, classify, and process.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Common;
using Leadtools.Forms.Auto;
using Leadtools.Document;
using Leadtools.Ocr;
using Leadtools.Forms.Recognition;
using Leadtools.Forms.Processing;
using Leadtools.Barcode;
using Leadtools.Forms;
public void AutoFormRecognitionAndProcessing2Uri()
{
string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\FormsDemo\OCR_Test");
RasterCodecs codecs = new RasterCodecs();
DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root);
using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
{
ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);
BarcodeEngine barcodeEngine = new BarcodeEngine();
AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine);
autoEngine.MinimumConfidenceRecognized = 80;
Uri url = new Uri(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Forms to be Recognized\OCR\FCC-107_OCR_Filled.tif"));
AutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(url, null);
if (result == null)
return;
FormPages formFields = autoEngine.ProcessForm(url, result);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}